Program Counter Encoding for ARM® Architecture
نویسندگان
چکیده
ARM® is the prevalent processor architecture for embedded and mobile applications. For the smartphones, it is the processor for which software applications are running, whether the platform is with Apple’s iOS or Google’s Android. Software operations under these platforms are prone to semantic gap, which refers to potential difference between intended operations described in software and actual operations done by processor. Attacks that compromise program control flows, which result in these mantic gaps, are a major attack type in modern software attacks. Many recent software protection schemes for servers and desktops focus on protecting program control flows, but there are little protection tools available for protecting program control flows of mobile applications for ARM processor architecture. This paper uses a program counter (PC) encoding technique (PC-Encoding) to harden program control flows under ARM processor architecture. The PC-Encoding directly encodes control flow target addresses that will load into the PC. It is simple and intuitive to implement and incur little overhead. Encoding the control flow target addresses can minimize the semantic gap by preventing potential compromises of the control flows. This paper describes our efforts of implementing PC-Encoding to harden portable binaries in ELF (Executable and Linkable Format).
منابع مشابه
Aggrandizing the beast's limbs: patulous code reuse attack on ARM architecture
Since smartphones are usually personal devices full of private information, they are a popular target for a vast variety of real-world attacks such as Code Reuse Attack (CRA). CRAs enable attackers to execute any arbitrary algorithm on a device without injecting an executable code. Since the standard platform for mobile devices is ARM architecture, we concentrate on available ARM-based CRAs. Cu...
متن کاملA Novel Multiply-Accumulator Unit Bus Encoding Architecture for Image Processing Applications
In the CMOS circuit power dissipation is a major concern for VLSI functional units. With shrinking feature size, increased frequency and power dissipation on the data bus have become the most important factor compared to other parts of the functional units. One of the most important functional units in any processor is the Multiply-Accumulator unit (MAC). The current work focuses on the develop...
متن کاملImplementation of RISC System in FPGA
This paper represents the combination of Reduced Instruction Set Computer (RISC) system using VHDL and implement. This paper presents a RISC processor designing to achieve various arithmetic operations. The RISC is a 20 bit processor. KeywordsArithmetic Logic(AL), Central Processing Unit(CPU), Control Unit(CU), Field Programmable Logic Array(FPGA), General Purpose Register(GPR), Program Counter...
متن کاملHardware-oriented ant colony optimization
A new kind of Ant Colony Optimization (ACO) algorithm is proposed that is suitable for an implementation in hardware. The new algorithm — called Counter-based ACO — allows to systolically pipe artificial ants through a grid of processing cells. Various features of this algorithm have been designed so that it can be mapped easily to Field-Programmable Gate Arrays (FPGAs). Examples are a new enco...
متن کاملPower Aware Encoding for the Instruction Address Buses Using Program Constructs
This paper examines the address traces produced by various program constructs. By using the correlation induced by the program constructs within these traces, we develop a scalable bus encoding algorithm to significantly reduce the switching activity on the instruction address bus. Simulation results for Spec2000 benchmarks show that for modest coding complexity, the proposed scheme reduces swi...
متن کامل